package work.base.designpattern.single;

/**
 * 单例模式 懒汉式加载
 * 调用getInstance()方法的时候 再去new对象 进行加载
 */
public class SingleTest02 {

    private static SingleTest02 INSTANCE;

    private SingleTest02(){};

    /**
     * 调用 getInstance的时候再去加载
     * 类装载的时候先不new进行实例化
     * @return
     */
    public static SingleTest02 getInstance() {
        if(null == INSTANCE) {
            INSTANCE = new SingleTest02();
        }
        return INSTANCE;
    }


    public static void main(String[] args) {
        // 想要使用该对象 只能通过静态的getInstance()获取同一个对象
        SingleTest02 t1 = SingleTest02.getInstance();
        SingleTest02 t2 = SingleTest02.getInstance();
        System.out.println(t1 == t2);

    }
}
